Although telecommunications technology originally developed using copper wires as the transmission media, there is much interest and commercial activity in wireless technology using free space as the transmission media. Wireless technology frees the user from the physical constraint of needing an electrical connection to the transmission media, and is extremely useful to people engaged in activities such as automobile driving.
Initial commercial activity developing wireless technology used analog transmission. In the interests of increasing the efficiency of spectrum utilization, digital transmission systems have been developed and it is believed that ultimately a substantial majority of wireless telecommunications will utilize digital transmission systems. Digital systems transmit information as either Os or 1s. Accurate information transmission depends upon being able to reliably detect transmitted 1s as 1s and 0s as 0s. Accurate detection is not always a simple matter because of factors such as low received signal power and multiple transmission paths caused by reflecting objects between (he transmitter and receiver. Error correction techniques have been developed to increase the accuracy of digital communications systems.
Several techniques that have been developed or utilized to improve the accuracy of the communications system will be briefly described. For example, the information may be convolutionally encoded; this technique reduces the effects of burst channel noise by interleaving the bits of the data stream, that is, the transmitted information. Accuracy of transmission is further improved by the inclusion in the bit stream of redundant bits which are used for error correction in the decoding process. An exemplary error correction scheme uses the Viterbi algorithm; use of the Viterbi algorithm is not limited to convolutional codes. See, Mobile Radio Communications, R. Steele, ed., Chapter 4 Channel Coding by Wong and Hanzo for an exposition of convolutional encoding and the Viterbi algorithm.
The Viterbi algorithm is a maximum likelihood decoding scheme that provides forward error correction. Each state is represented by a plurality of bits; the number of possible immediately preceding and following states is limited. The permitted transitions from one state to another state are defined as a branch, and a sequence of interconnected branches is called a path. As mentioned, some transitions are not permitted; when the paths resulting from the non-permitted transitions are eliminated, computational efficiency is improved. A branch metric is calculated for each branch and the metric is used to determine which paths survive and which do not survive. One type of decoding is termed hard decision or symbol decoding. In this type of decoding, the decoded symbol is forced to be either a 1 or a 0; that is, the received symbol is quantized into either a 1 or a 0. However, such a two level quantization results in information being lost. This information is retained and utilized in soft symbol or decision decoding. The signal is quantized into a plurality of levels, for example, 4, 8, 16, or more, and given a value which may be positive or negative. The absolute value or magnitude represents the degree of confidence that the signal was accurately received. Decoding now proceeds. The Viterbi decoder selects the branch metric with the largest value and the associated path; it is believed that this represents the most likely path. It is known that soft symbol decoding yields more accurate decoding than does hard symbol decoding.
A method for soft trellis decoding is described in U.S. Pat. No. 5,144,644 issued on Sep. 1, 1992 to Borth. The method described generates decisions that are based upon other decision making. The degree of confidence in a particular decision is given a relative merit which is related to the difference between the hard and soft symbol values. A transmission system using soft symbol decoding is described in U.S. Pat. No. 4,493,082 issued on Jan. 8, 1985 to Cumberton et al (Cumberton). Cumberton converts five bit words into six bit words by changing the least significant bit of the five bit word into the two least significant bits of the six bit word. These bits are convolutionally encoded and soft decision decoding is used to decide which set of bits was most likely sent.